$PBExportHeader$uo_val_carrera_baja.sru
$PBExportComments$UO para validar datos obligatorios para la baja logica (uo_validar)
forward
global type uo_val_carrera_baja from uo_validar
end type
end forward

global type uo_val_carrera_baja from uo_validar
end type
global uo_val_carrera_baja uo_val_carrera_baja

forward prototypes
public function boolean procesar (ref uo_dw puodw)
end prototypes

public function boolean procesar (ref uo_dw puodw);Boolean bOK = TRUE
Date    dFecBaja, dFecAlta
String  sResolucionBaja, sResolucion


dFecBaja = pUODw.getItemDate( 1, 'fecha_baja')
dFecAlta = pUODw.getItemDate( 1, 'fecha_creacion')
sResolucionBaja = pUODw.getItemString(1, 'resolucion_baja')
sResolucion = pUODw.getItemString(1, 'nro_resolucion')


/* verifico que no sea null la resolucion */
IF isNull(sResolucionBaja) THEN
	guo_app.msg.uof_setErrorRN(800325, '')
	RETURN FALSE
END IF

/* verifico que no sea null la fecha de baja */
IF isNull(dFecBaja) THEN
	guo_app.msg.uof_setErrorRN(800326, '')
	RETURN FALSE
END IF

/* si la fecha de Baja es mayor a la actual */
IF dFecBaja > f_fecha_actual() THEN
	guo_app.msg.uof_setErrorRN(800327, string(dFecBaja,"dd/mm/yyyy"))
	RETURN FALSE
END IF

/* verifico que la fecha de baja sea mayor a la de creacion */
IF dFecBaja < dFecAlta THEN
	guo_app.msg.uof_setErrorRN(800328, string(dFecBaja,"dd/mm/yyyy"))
	RETURN FALSE
END IF

/* verifico que las resoluciones de alta y baja de la carrera no sean iguales */
IF sResolucionBaja = sResolucion THEN
	guo_app.msg.uof_setErrorRN(800329, sResolucion)
	RETURN FALSE
END IF


/* si paso los controles, seteo el campo ESTADO = B */
pUODw.SetItem( 1, 'estado', 'B')

RETURN bOK

end function

on uo_val_carrera_baja.create
TriggerEvent( this, "constructor" )
end on

on uo_val_carrera_baja.destroy
TriggerEvent( this, "destructor" )
end on

